import java.util.Scanner;
//基于继承关系编写一个动物体系，具体的动物包含小狗和小猫。每只动物都有名字和颜色，都能够做自我介绍（introduce）。此外，小狗有智商属性（整数），能接飞盘（catchFrisbee()，方法体内输出一行“catch frisbee”即可），小猫有眼睛颜色属性，能抓老鼠（catchMouse()，方法体内输出一行“catch mouse”即可）。各种小动物自我介绍时均介绍自己的姓名和颜色，此外，小狗应介绍自己的智商，小猫应介绍自己的眼睛颜色。小狗介绍时输出”My name is xxx, my color is xxx, my IQ is xxx”, 小猫介绍时输出“My name is xxx, my color is xxx, my eyecolor is xxx”
//        构造类TestAnimal，提供静态函数introduce(Animal)，对参数动物自我介绍。提供静态函数action(Animal)，根据参数对象的实际类型进行活动，如果是小狗，则让其接飞盘，如果是小猫，则让其抓老鼠。
//        Main函数中，根据动物类型构造动物，并调用TestAnimal中的方法进行自我介绍(introduce)和活动(action)
/*你的代码被嵌在这里 */
class TestAnimal{
    public static void introduce(Animal a){
        a.introduce1();
    }
    public static void action(Animal a){
        a.introduce1();
    }
}
abstract class Animal{
    String name;
    String color;
    String eyecolor;
    int IQ;

    abstract void introduce1() ;
}

class  Cat extends  Animal{
    String name;
    String color;
    String eyecolor;

    public Cat(String name, String color, String eyecolor) {
        this.name = name;
        this.color = color;
        this.eyecolor = eyecolor;
    }
    public void introduce1(){
        System.out.println("My name is "+name+", my color is "+color+", my eyecolor is "+eyecolor);
        System.out.println("catch mouse");
    }

}
class  Dog extends  Animal{
    String name;
    String color;
    int IQ;

    public Dog(String name, String color, int IQ) {
        this.name = name;
        this.color = color;
        this.IQ = IQ;
    }
    public void introduce1(){
        System.out.println("My name is "+name+", my color is "+color+", my IQ is "+IQ);
        System.out.println("catch frisbee");
    }
}
public class Test1{

    public static void main(String args[]) {

        Scanner s = new Scanner (System.in);
        int i = s.nextInt();
        Animal a = null;
        if (i==1) {
            a = new Cat(s.next(), s.next(), s.next());
        } else if (i==2) {
            a = new Dog(s.next(), s.next(), s.nextInt());
        }
        TestAnimal.introduce(a);
        TestAnimal.action(a);

    }
}

